Many devices include a real-time clock, ranging from wristwatches used for displaying the time of day to more complex intelligent devices that schedule activities based on the time of day. In most devices, an inaccuracy of the clock is treated as a minor inconvenience which is addressed by adjusting the clock as needed in order to accommodate for drift and aging. However, for certain systems that rely on time-of-day scheduling, accuracy is extremely critical. This is especially true in systems composed of several units each with its own clock, which interact with each other and schedule their mutual activities based on their clocks. Mutual drift in the clocks will misalign the activities and prevent interactions. For example, in the wireless frequency-hopping communications system as described in U.S. patent application No. 08/932,911 filed Sep. 18, 1997 for Contemporaneous Connectivity To Multiple Piconets by J. C. Haartsen, each unit has its own native system clock. This native clock schedules the wake-up and sleep intervals during standby mode, as well as the hop frequency to which the unit will tune to during the wake-up period. Another unit that desires to make contact with the sleeping unit can speed up the acquisition considerably by knowing the native clock of the unit in standby mode and predicting its scheduling. Once connected, the two units exchange their current native clock values. The clock differences are stored in both units as clock offsets. These offset values can then be used on a later occasion when these two units want to connect again. The stored offset added to the unit's native clock gives an estimate to the native clock value of the other unit.
Due to a drift in the clocks caused by, for example, temperature variations and aging, the stored offset values only have a limited lifetime. The accuracy of the estimate becomes smaller when time elapses and no connection is made. Therefore, the more stable the clocks (less drift), the longer these units remain synchronized without having to interact with each other. This relates to a faster acquisition when interaction is desired.
For the real-time or time-of-day clock, long-term stability is important. Its behavior over a short-term (milliseconds) or medium-term (seconds to minutes) is not critical. For accurate clocks, crystal references are usually applied. These crystals, included in an oscillator, give a clock a stability on the order 5 to 20 parts per million (ppm) over a 50 degree temperature range. However, these oscillators consume quite some power and are preferably turned off when possible. All computing and communication devices include a crystal reference. However, this reference is turned off during sleep and suspend modes in order to minimize the power consumption. This is especially true for portable devices such as, for example, laptops and wireless terminals.
Low-power oscillators that draw little current run, preferably, at low frequencies. Crystal oscillators are less appropriate for this application due to the high frequencies and higher power consumption. For low-power oscillators, preferably, LC or relaxation oscillators are used. These oscillators can run at low frequencies, can be integrated on a chip and consume very little power. However, these low-power oscillators (LPO) are not that stable. A common way to improve the long-term stability of an LPO is to calibrate it frequently using the crystal (reference) oscillator when the crystal oscillator is active. So, for example, in the standby mode, the crystal oscillator can be powered on periodically to calibrate the LPO. Preferably, this is carried out when the unit wakes up for other activities, like scanning for example, during which time the crystal oscillator is in an active state. Since the crystal oscillator is only used at a very low duty cycle (which may correspond to the wake-up period scheduled for other activities), power consumption is limited while having a higher long-term stability than could be achieved with the LPO alone.
There are several methods for calibrating a LPO. In most modern devices, this occurs digitally. During the calibration, the LPO is compared to the crystal reference clock in a digital circuit and a correction signal is fed back to the LPO. Tuning the LPO 110 occurs through an analog signal; therefore, a digital-to-analog (D/A) converter 130 between the digital calibration circuitry 120 and a LPO 110 is required as illustrated in FIG. 1. This conventional circuit is described in more detail below. The correction signal E, represented as a binary word, is stored in a register 140 which is updated at each calibration event.
The long-term stability of the circuit of FIG. 1, however, is limited by two factors. First, the resolution of the D/A converter 130 limits the accuracy of the correction signal E. The analog input to the LPO 110 can only change in discrete steps as determined by the least significant bit (LSB) of the D/A converter 130. The resolution of a D/A converter is limited by the technology applied. The minimum step size is determined by the desired tuning range and the resolution. Due to process variations, the tuning range of an LPO must be rather large. In addition, a D/A converter with more than 9 bits becomes impractical. Therefore, the LPO long-term stability is limited to a few hundred ppm. Improving the accuracy of the crystal oscillator or calibrating more frequently does not appreciably increase the LPO stability.
Another factor that limits the stability of the LPO is the accuracy of the calibration method. Calibration can be carried out by counting the number of reference cycles N of the reference clock during a time window which is controlled by the LPO. The deviation of N from the desired value N.sub.ref determines the correction signal. The resolution of the correction signal is 1/N.sub.ref. N.sub.ref is determined by the frequency f.sub.ref of the reference oscillator and by the length of the calibration window T.sub.wake : EQU N.sub.ref =f.sub.ref *T.sub.wake
For a stability on the order of a few ppm, N.sub.ref has to be on the order of 10.sup.6. The reference frequency f.sub.ref is determined by the type of crystal reference used; T.sub.wake is determined by the calibration period and may be limited by the wake-up procedure used during the standby mode. That is, in the standby mode, the unit may wake up periodically for short periods Twake in order to scan for paging messages. In order to reduce acquisition time, wireless systems wake up rather frequently for short periods of time than for a longer time period less frequently. Therefore, T.sub.wake is preferably small. However, a small T.sub.wake results in a low LPO accuracy.
What is needed, therefore, is a method for obtaining a better long-term stability of a LPO that is calibrated by a crystal oscillator while also minimizing the power consumption.